Current systems that execute a job or workflow may use monolithic application software to control workflow execution. The systems rely on prior knowledge or definition of the workflow by having the workflow definition hard coded in the system. Based on that knowledge, the application software will build the workflow, or the sequence of steps, and then control execution of the workflow. Because of the hard coding, these systems are not adaptive to individual jobs, or to changes in services or processors that may be available at run time to execute the workflow.
One or more operating units in a computer-based network may provide services. Users of the network may generate specific jobs and send the jobs into the network to be assigned to one of the operating units. For example, a user at a computer terminal may generate a printing order using a printer driver installed on the terminal. The printer driver is used to control the printing request. In another example, a user at a computer terminal may generate a printing order, and send the printing order into a computer network so that the printing order is completed by a printing service. The printing order may be related to a company brochure. The printing order may contain unique requirements such as paper type, font size, layout, graphics, color, and other requirements. The user may specify that a specific printing service, such as Kinkos®, prepare the company brochure. Alternatively, the computer network may include programs that suggest printing services to the user.